package cn.zyq.ykb.service.config;

import cn.zyq.ykb.beans.config.ConfigInfo;
import cn.zyq.ykb.system.common.PageParam;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * 基础信息配置Service接口
 *
 * @author SystemAuth
 * @date 2023-05-22
 */
public interface ConfigInfoService {
    /**
     * 查询基础信息配置
     *
     * @param configInfoID 基础信息配置主键
     * @return 基础信息配置
     */
    ConfigInfo selectConfigInfoByConfigInfoID(Integer configInfoID);

    /**
     * 查询基础信息配置
     *
     * @param serviceID 基础信息配置业务ID
     * @return 基础信息配置
     */
    ConfigInfo selectConfigInfoByServiceID(String serviceID);

    /**
     * 查询基础信息配置列表
     *
     * @param pageParam
     * @return 基础信息配置集合
     */
    PageInfo<ConfigInfo> selectConfigInfoList(PageParam pageParam);

    /**
     * 查询基础信息配置列表
     *
     * @param param
     * @return 基础信息配置集合
     */
    List<ConfigInfo> selectConfigInfoList(ConfigInfo param);

    /**
     * 新增基础信息配置
     *
     * @param param 基础信息配置
     * @return 结果
     */
    int insertConfigInfo(ConfigInfo param);

    /**
     * 修改基础信息配置
     *
     * @param param 基础信息配置
     * @return 结果
     */
    int updateConfigInfo(ConfigInfo param);

    /**
     * 批量删除基础信息配置
     *
     * @param configInfoIDs 需要删除的基础信息配置主键集合
     * @return 结果
     */
    int deleteConfigInfoByConfigInfoIDs(Integer[] configInfoIDs);

    /**
     * 删除基础信息配置信息
     *
     * @param configInfoID 基础信息配置主键
     * @return 结果
     */
    int deleteConfigInfoByConfigInfoID(Integer configInfoID);
}
